package com.yuxi.search;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.yuxi.pubInter.BaseSearch;
import com.yuxi.model.BaseInfo;
import java.util.Date;
import java.util.List;
import java.math.BigDecimal;
import lombok.Data;
/**
*   @author com.yuxi
*   @Date 2023-10-18 22:09:06
*   @description BaseInfoSearch      基础信息
*/


@Data
@ApiModel("基础信息BaseInfoSearch")
public abstract class BaseInfoSearch<Sub extends BaseInfoSearch<Sub>> extends BaseSearch {
    @ApiModelProperty(value = "主键")
    private List idIn;
    @ApiModelProperty(value = "大于排序")
    private Integer sortNumGreater;
    @ApiModelProperty(value = "小于排序")
    private Integer sortNumLess;
    @ApiModelProperty(value = "是否显示 1:是:Y,0:否:N")
    private List showFlagIn;
    @ApiModelProperty(value = "是否删除 1:删除:Y,0:正常:N")
    private Integer delFlagEq=0;
    @ApiModelProperty(value = "版本")
    private Integer versionEq;
    @ApiModelProperty(value = "大于创建年份")
    private Integer createYearGreater;
    @ApiModelProperty(value = "小于创建年份")
    private Integer createYearLess;
    @ApiModelProperty(value = "占地面积")
    private String areaLike;
    @ApiModelProperty(value = "员工人数")
    private String personNumLike;
    @ApiModelProperty(value = "运营中心")
    private String telLike;
    @ApiModelProperty(value = "供应链电话")
    private String supplyTelLike;
    @ApiModelProperty(value = "生产基地（新桥）电话")
    private String xinqiaoTelLike;
    @ApiModelProperty(value = "生产基地（城东)电话")
    private String chengDongLike;
    @ApiModelProperty(value = "版权")
    private String copyrightLike;
    @ApiModelProperty(value = "网站备案号")
    private String recordNumberLike;
    @ApiModelProperty(value = "咨询电话")
    private String infoTelLike;
    @ApiModelProperty(value = "部门名称")
    private String deptNameLike;
    @ApiModelProperty(value = "部门地址")
    private String deptAddressLike;
    @ApiModelProperty(value = "部门地图")
    private String deptMapLike;
    @ApiModelProperty(value = "部门座机")
    private String deptTelLike;
    @ApiModelProperty(value = "部门传真")
    private String deptFaxLike;
    @ApiModelProperty(value = "部门1名称")
    private String deptName1Like;
    @ApiModelProperty(value = "部门1地址")
    private String deptAddress1Like;
    @ApiModelProperty(value = "部门1地图")
    private String deptMap1Like;
    @ApiModelProperty(value = "部门1座机")
    private String deptTel1Like;
    @ApiModelProperty(value = "部门1传真")
    private String deptFax1Like;
    @ApiModelProperty(value = "部门2名称")
    private String deptName2Like;
    @ApiModelProperty(value = "部门2地址")
    private String deptAddress2Like;
    @ApiModelProperty(value = "部门2地图")
    private String deptMap2Like;
    @ApiModelProperty(value = "部门2座机")
    private String deptTel2Like;
    @ApiModelProperty(value = "部门2传真")
    private String deptFax2Like;
    @ApiModelProperty(value = "部门3名称")
    private String deptName3Like;
    @ApiModelProperty(value = "部门3地址")
    private String deptAddress3Like;
    @ApiModelProperty(value = "部门3地图")
    private String deptMap3Like;
    @ApiModelProperty(value = "部门3座机")
    private String deptTel3Like;
    @ApiModelProperty(value = "部门3传真")
    private String deptFax3Like;
    @ApiModelProperty(value = "公司简介")
    private String introLike;
    @ApiModelProperty(value = "关于我们")
    private String aboutLike;

    public BaseInfoSearch() {
        setDelFlagEq(0);
    }



    /**
    * 返回子类Sub
    * @return
    */
    public abstract Sub getSubThis();

    @Override
    public String createTimeFiled() {
        return BaseInfo.CREATE_TIME;
    }
    @Override
    public String updateTimeFiled() {
        return BaseInfo.UPDATE_TIME;
    }
    @Override
    public String  setDefaultField() {
        return BaseInfo.CREATE_TIME;
    }
    @Override
    public String pkField() {
        return BaseInfo.ID;
    }

    @Override
    public String  toString() {
        return "BaseInfoSearch{}"+super.toString();
    }
    public Sub setIdIn(List idIn){
        this.idIn = idIn;
        setInField(BaseInfo.ID, idIn);
        return getSubThis();
    }
    public Sub setSortNumGreater(Integer sortNumGreater){
        this.sortNumGreater = sortNumGreater;
        setGreaterField(BaseInfo.SORT_NUM, sortNumGreater);
        return getSubThis();
    }
    public Sub setSortNumLess(Integer sortNumLess){
        this.sortNumLess = sortNumLess;
        setLessField(BaseInfo.SORT_NUM, sortNumLess);
        return getSubThis();
    }
    public Sub setShowFlagIn(List showFlagIn){
        this.showFlagIn = showFlagIn;
        setInField(BaseInfo.SHOW_FLAG, showFlagIn);
        return getSubThis();
    }
    public Sub setDelFlagEq(Integer delFlagEq){
        this.delFlagEq = delFlagEq;
        setEqualField(BaseInfo.DEL_FLAG, delFlagEq);
        return getSubThis();
    }
    public Sub setVersionEq(Integer versionEq){
        this.versionEq = versionEq;
        setEqualField(BaseInfo.VERSION, versionEq);
        return getSubThis();
    }
    public Sub setCreateYearGreater(Integer createYearGreater){
        this.createYearGreater = createYearGreater;
        setGreaterField(BaseInfo.CREATE_YEAR, createYearGreater);
        return getSubThis();
    }
    public Sub setCreateYearLess(Integer createYearLess){
        this.createYearLess = createYearLess;
        setLessField(BaseInfo.CREATE_YEAR, createYearLess);
        return getSubThis();
    }
    public Sub setAreaLike(String areaLike){
        this.areaLike = areaLike;
        setLikeField(BaseInfo.AREA, areaLike);
        return getSubThis();
    }
    public Sub setPersonNumLike(String personNumLike){
        this.personNumLike = personNumLike;
        setLikeField(BaseInfo.PERSON_NUM, personNumLike);
        return getSubThis();
    }
    public Sub setTelLike(String telLike){
        this.telLike = telLike;
        setLikeField(BaseInfo.TEL, telLike);
        return getSubThis();
    }
    public Sub setSupplyTelLike(String supplyTelLike){
        this.supplyTelLike = supplyTelLike;
        setLikeField(BaseInfo.SUPPLY_TEL, supplyTelLike);
        return getSubThis();
    }
    public Sub setXinqiaoTelLike(String xinqiaoTelLike){
        this.xinqiaoTelLike = xinqiaoTelLike;
        setLikeField(BaseInfo.XINQIAO_TEL, xinqiaoTelLike);
        return getSubThis();
    }
    public Sub setChengDongLike(String chengDongLike){
        this.chengDongLike = chengDongLike;
        setLikeField(BaseInfo.CHENG_DONG, chengDongLike);
        return getSubThis();
    }
    public Sub setCopyrightLike(String copyrightLike){
        this.copyrightLike = copyrightLike;
        setLikeField(BaseInfo.COPYRIGHT, copyrightLike);
        return getSubThis();
    }
    public Sub setRecordNumberLike(String recordNumberLike){
        this.recordNumberLike = recordNumberLike;
        setLikeField(BaseInfo.RECORD_NUMBER, recordNumberLike);
        return getSubThis();
    }
    public Sub setInfoTelLike(String infoTelLike){
        this.infoTelLike = infoTelLike;
        setLikeField(BaseInfo.INFO_TEL, infoTelLike);
        return getSubThis();
    }
    public Sub setDeptNameLike(String deptNameLike){
        this.deptNameLike = deptNameLike;
        setLikeField(BaseInfo.DEPT_NAME, deptNameLike);
        return getSubThis();
    }
    public Sub setDeptAddressLike(String deptAddressLike){
        this.deptAddressLike = deptAddressLike;
        setLikeField(BaseInfo.DEPT_ADDRESS, deptAddressLike);
        return getSubThis();
    }
    public Sub setDeptMapLike(String deptMapLike){
        this.deptMapLike = deptMapLike;
        setLikeField(BaseInfo.DEPT_MAP, deptMapLike);
        return getSubThis();
    }
    public Sub setDeptTelLike(String deptTelLike){
        this.deptTelLike = deptTelLike;
        setLikeField(BaseInfo.DEPT_TEL, deptTelLike);
        return getSubThis();
    }
    public Sub setDeptFaxLike(String deptFaxLike){
        this.deptFaxLike = deptFaxLike;
        setLikeField(BaseInfo.DEPT_FAX, deptFaxLike);
        return getSubThis();
    }
    public Sub setDeptName1Like(String deptName1Like){
        this.deptName1Like = deptName1Like;
        setLikeField(BaseInfo.DEPT_NAME1, deptName1Like);
        return getSubThis();
    }
    public Sub setDeptAddress1Like(String deptAddress1Like){
        this.deptAddress1Like = deptAddress1Like;
        setLikeField(BaseInfo.DEPT_ADDRESS1, deptAddress1Like);
        return getSubThis();
    }
    public Sub setDeptMap1Like(String deptMap1Like){
        this.deptMap1Like = deptMap1Like;
        setLikeField(BaseInfo.DEPT_MAP1, deptMap1Like);
        return getSubThis();
    }
    public Sub setDeptTel1Like(String deptTel1Like){
        this.deptTel1Like = deptTel1Like;
        setLikeField(BaseInfo.DEPT_TEL1, deptTel1Like);
        return getSubThis();
    }
    public Sub setDeptFax1Like(String deptFax1Like){
        this.deptFax1Like = deptFax1Like;
        setLikeField(BaseInfo.DEPT_FAX1, deptFax1Like);
        return getSubThis();
    }
    public Sub setDeptName2Like(String deptName2Like){
        this.deptName2Like = deptName2Like;
        setLikeField(BaseInfo.DEPT_NAME2, deptName2Like);
        return getSubThis();
    }
    public Sub setDeptAddress2Like(String deptAddress2Like){
        this.deptAddress2Like = deptAddress2Like;
        setLikeField(BaseInfo.DEPT_ADDRESS2, deptAddress2Like);
        return getSubThis();
    }
    public Sub setDeptMap2Like(String deptMap2Like){
        this.deptMap2Like = deptMap2Like;
        setLikeField(BaseInfo.DEPT_MAP2, deptMap2Like);
        return getSubThis();
    }
    public Sub setDeptTel2Like(String deptTel2Like){
        this.deptTel2Like = deptTel2Like;
        setLikeField(BaseInfo.DEPT_TEL2, deptTel2Like);
        return getSubThis();
    }
    public Sub setDeptFax2Like(String deptFax2Like){
        this.deptFax2Like = deptFax2Like;
        setLikeField(BaseInfo.DEPT_FAX2, deptFax2Like);
        return getSubThis();
    }
    public Sub setDeptName3Like(String deptName3Like){
        this.deptName3Like = deptName3Like;
        setLikeField(BaseInfo.DEPT_NAME3, deptName3Like);
        return getSubThis();
    }
    public Sub setDeptAddress3Like(String deptAddress3Like){
        this.deptAddress3Like = deptAddress3Like;
        setLikeField(BaseInfo.DEPT_ADDRESS3, deptAddress3Like);
        return getSubThis();
    }
    public Sub setDeptMap3Like(String deptMap3Like){
        this.deptMap3Like = deptMap3Like;
        setLikeField(BaseInfo.DEPT_MAP3, deptMap3Like);
        return getSubThis();
    }
    public Sub setDeptTel3Like(String deptTel3Like){
        this.deptTel3Like = deptTel3Like;
        setLikeField(BaseInfo.DEPT_TEL3, deptTel3Like);
        return getSubThis();
    }
    public Sub setDeptFax3Like(String deptFax3Like){
        this.deptFax3Like = deptFax3Like;
        setLikeField(BaseInfo.DEPT_FAX3, deptFax3Like);
        return getSubThis();
    }
    public Sub setIntroLike(String introLike){
        this.introLike = introLike;
        setLikeField(BaseInfo.INTRO, introLike);
        return getSubThis();
    }
    public Sub setAboutLike(String aboutLike){
        this.aboutLike = aboutLike;
        setLikeField(BaseInfo.ABOUT, aboutLike);
        return getSubThis();
    }
}